คู่ (tuples) ในจูเลียทำงานเป็นกลุ่มข้อมูลที่มีความยาวคงที่และเรียงลำดับ ซึ่งออกแบบมาเพื่อรักษาความสมบูรณ์ของข้อมูล โดยป้องกันการเปลี่ยนแปลงสถานะโดยไม่ตั้งใจ อาร์เรย์ถูกแทนด้วยวงเล็บเหลี่ยม ในขณะที่คู่ถูกแทนด้วยวงเล็บปีกกาและจุดคั่นเช่น ที่เห็นในคำจำกัดความ tup1=(5,10,15,20,25,30).
1. คุณสมบัติหลัก
คล้ายกับอาร์เรย์ คู่ก็เป็นชุดขององค์ประกอบที่เรียงลำดับเช่นกัน. ซึ่งทำให้สามารถดึงข้อมูลย่อยตามช่วงได้ เช่น tup1[3:end] เพื่อให้ได้ชุดย่อยของข้อมูลเดิม คู่ยังมีความยืดหยุ่นสูง ซึ่งอนุญาตให้มีการรวมโครงสร้าง (structural nesting) ได้ การรวมโครงสร้าง. หาก tup1 = ((1,2),(3,4)) เราสามารถดึงกลุ่มแรกได้โดยใช้ tup1[1] หรือเข้าถึงระดับลึกไปยัง tup1[1][2].
2. สัญญาความไม่สามารถเปลี่ยนแปลง
ข้อแตกต่างที่สำคัญที่สุดคือ คู่เป็นสิ่งที่ไม่สามารถเปลี่ยนแปลงได้. หลังจากสร้างแล้ว ข้อมูลภายในจะไม่สามารถเปลี่ยนแปลงได้ การดำเนินการเช่น tup1[2]=0 จะทำให้เกิด MethodError, ซึ่งทำให้ข้อมูลถูก 'ล็อก' อย่างมีประสิทธิภาพ
3. การปรับแต่ง
เนื่องจากคู่เป็นสิ่งที่ไม่สามารถเปลี่ยนแปลงได้ คอมไพเลอร์จูเลียจึงสามารถปรับแต่งการจัดเก็บในหน่วยความจำได้บ่อยครั้ง ทำให้พวกมันเร็วกว่าอาร์เรย์อย่างมากสำหรับกลุ่มข้อมูลขนาดเล็กที่มีขนาดคงที่